package com.echo.im.common.enums;

import lombok.AllArgsConstructor;

/**
 *
 * @author echo
 * @date 2024-08-18
 */
@AllArgsConstructor
public enum IMCmdType {

    /**
     * 登陆
     */
    LOGIN(0, "登陆"),
    /**
     * 心跳
     */
    HEART_BEAT(1, "心跳"),
    /**
     * 强制下线
     */
    FORCE_LOGUT(2, "强制下线"),
    /**
     * 私聊消息
     */
    PRIVATE_MESSAGE(3, "私聊消息"),
    /**
     * 群发消息
     */
    GROUP_MESSAGE(4, "群发消息"),
    /**
     * 系统消息
     */
    SYSTEM_MESSAGE(5,"系统消息"),
    /**
     * 对私聊消息的回执
     */
    ACK_PRIVATE_MESSAGE(6,"对私聊消息的回执"),
    /**
     * 平台命令消息
     */
    PLATFORM_COMMAND_MESSAGE(7,"平台命令消息");

    private final Integer code;

    private final String desc;


    public static IMCmdType fromCode(Integer code) {
        for (IMCmdType typeEnum : values()) {
            if (typeEnum.code.equals(code)) {
                return typeEnum;
            }
        }
        return null;
    }


    public Integer code() {
        return this.code;
    }


}

